A copying machine provided with a copy function, a facsimile machine provided with a facsimile function, a printer provided with a printer function, and a multi function peripheral provided with these functions and a scanner function (these are hereafter generically called an image processing apparatus) have become popularized (for example, refer to Japanese Patent Application Publication No. 2001-94707). In the case of performing printing using this image processing apparatus, first, print data of Page Description Language form (PDL: Page Description Language) is received from a client connected to a network. Next, the print data is rasterized (bit map development) to generate multi value image data (for example, 8 bits). Then the multi value image data is screened (formation of a binary value), and binary image data is generated. An image adjustment is performed to the binary image data, and the binary image data is outputted onto a paper sheet.
However, in the case of a system to which a plurality of image processing apparatuses is connected via a network, when each image processing apparatus executes a processing of generating the multi value image data from the print data (it is hereafter called RIP (Raster Image Processor) processing) and a screening processing of the multi value image data, a function for executing the above-mentioned processing must be given to each image processing apparatus. Therefore, the structure of the image processing apparatus becomes complicated. So, in such a system, there is adopted a structure in which a controller having the above-mentioned RIP processing function and screening processing function is connected to the network, and performs the above-mentioned processes on behalf of each image processing apparatus.
In such a system, as illustrated in FIG. 6, a printer driver of the client converts document data created with an application into the print data of Page Description Language form, and transmits the data to the controller. The controller performs the RIP processing and the screening processing to the print data, creates the image data, and transmits the image data to the image processing apparatus. In the image processing apparatus, the image data is stored in the memory section, such as a RAM (Random Access Memory) and HDD (Hard Disk Drive), and a print is sequentially executed. When acceptance preparation of image data based on the next print data is completed, the image processing apparatus will send an ACK (acknowledge) signal to the controller. The controller sends this notice to the printer driver, and the printer driver transmits the next print data in response to this notice.
Here, in case where the ACK (acknowledge) signal is transmitted immediately after the completion of storing the image data, the image data is transmitted one after another and eventually, the memory section of the image processing apparatus will not be able to store the image data. In this case, the image processing apparatus notifies the controller of an overflow, and the controller sends this notice of overflow to the printer driver of the client. The printer driver receives this notice of overflow, and stops or suspends the transmission of print data.
When such overflow occurs, a print processing backs up. Therefore, the interval of the ACK (acknowledge) signal notification is increased, and a control for delaying the transmission of the print data from the printer driver is performed.
Thus, when the interval of the ACK (acknowledge) signal notification is increased, the overflow will become difficult to occur. However, the transmission of the print data from the printer driver backs up, and the print processing delays. On the other hand, when this interval is decreased, the print processing will not be delayed, but the image data will be transmitted one after another and eventually, the overflow will occur. Therefore, it becomes important to appropriately set up the interval of the ACK (acknowledge) signal notification corresponding to the occasional status. Consequently, conventionally, a control in which the interval of the ACK (acknowledge) signal notification is increased when a remaining amount of the memory section is lessened based on the remaining amount of the memory section of the image processing apparatus has been performed.
Here, the remaining amount usually means a capacity (an area of a storage area), which is not in use. For example, in the case where 1 GB of storage area is assigned to store the image data, the remaining amount being 20% means that 200 MB of storage area remains. However, the image data is usually managed by a management table with a limit. In the case where quantity of the image data exceeds the quantity capable of being managed by this management table, even when there is an allowance in capacity, no more image data can be managed. Therefore, it will be in an overflow state.
Thus, for example, although remaining amount of the storage area is 20%, in the case where the remaining amount of an element (called a node hereafter) of the management table is only 1 or 2 bytes, the overflow will occur at a stage in which the image data based on the next print data has been received.
Therefore, there had been a problem in which the processing cannot efficiently and securely be executed when the interval of the ACK (acknowledge) signal notification is managed on the basis of this remaining amount. This remaining amount is displayed on a panel of the image processing apparatus to notify the remaining amount to the user so that the user is able to determine whether to transmit the next print data or perform a reading of a document. Also in this case, when the remaining amount based on the capacity of the memory section is displayed, the overflow occurs even when the capacity has allowance, but the quantity of the node is lessened. Thus, there is a problem that the processing cannot efficiently and securely be executed.
The present invention is made in view of the above-mentioned problems. An object of the present invention is to provide an image processing system, a memory control method and a memory management program which can efficiently and securely execute processing.